﻿namespace Mockingbird.Core.Repository
{
    using System.Collections.Generic;
    using System.Security.Cryptography;
    using Models;
    using MongoDB.Bson;

    public interface IAccountRepository
    {
        bool ValidateUser(string email, string password);

        UserPropertiesModel GetUser(string email);

        List<UserPropertiesModel> SearchUsers(string name);

        bool RegisterUser(UserPropertiesModel user);

        UserPropertiesModel FollowUser(ObjectId follower, string user);

        UserPropertiesModel UnfollowUser(ObjectId id, string userId);

        UserPropertiesModel GetUserById(string userId);
    }
}
